/* 组织结构管理 */
import {loadSysOrgTree,loadFirstLevelOrg,findSysOrgs,addSysOrg,updSysOrg,delSysOrg} from 'api/sysOrgApi';

const sysOrg = {
    state: {
      sysOrgDTOs:[],
      sysOrgTree:[],
      firstLevelOrgTree:[],
      page: {
        currentPage: 1,
        pageSize: 5,
        total: 0
      }
    },
    mutations: {
      loadOrgsTreeMut(state, obj){
        state.sysOrgTree = obj.data;
      },

      loadFirstLevelOrgTreeMut (state, obj){
        state.firstLevelOrgTree = obj.data;
      },

      loadOrgsMut(state, obj){
        if (obj.rows !== '') {
          state.sysOrgDTOs = obj.rows;
          state.page.currentPage = obj.currentPage;
          state.page.pageSize = obj.pageSize;
          state.page.total = obj.total;
        }
      }
    },
    actions: {
      /** 加载组织机构 **/
      loadSysOrgTreeAct(context,param){
        return loadSysOrgTree(param).then(res=>{
          context.commit("loadOrgsTreeMut",res);
        });
      },

      /** 一级组织机构 **/
      loadFirstLevelOrgAct(context,param){
        return loadFirstLevelOrg(param).then(res=>{
          context.commit("loadFirstLevelOrgTreeMut",res);
        });
      },

      /** 查询组织结构 **/
      findSysOrgsAct(context,param){
        return findSysOrgs(param).then(res=>{
          context.commit("loadOrgsMut",res.data);
        });
      },
      /** 新增组织结构 **/
      addSysOrgAct(context,param){
        return addSysOrg(param).then(res=>{
          return res.data;
        });
      },
      /** 编辑组织结构 **/
      updSysOrgAct(context,param){
        return updSysOrg(param).then(res=>{
          return res.data;
        });
      },
      /** 删除组织结构 **/
      batchDelSysOrgAct(context,param){
        return delSysOrg(param).then(res=>{
          return res.data;
        });
      }
    }
};

export default sysOrg;
